package com.yyf.springboot2.Test;


import redis.clients.jedis.Jedis;
import sun.applet.Main;

import java.util.Arrays;

public class TestMain {
/*    public static void main(String[] args) {
        TestLinkList linkList = new TestLinkList();
        for (int i = 0; i < 15; i++) {
            linkList.add(i);
        }
//        linkList.print(linkList.head);

//        linkList.findLastNode(linkList.,1);
    }*/
//public static void main(String[]args){
//    //连接本地Redis服务
//    Jedis jedis=new Jedis("127.0.0.1",6379);
//    //查看服务器是否运行，打出pong表示OK
//    System.out.println("connect is OK============>"+jedis.ping());
//}


//    public static void main(String[] args) {
////        int a =  dayOfYear("1900-03-25"
////        );
////        System.out.println(a);
//
//      int[] nums = new int[]{0,0,1,1,1,2,2,3,3,4};
//        // nums 是以“引用”方式传递的。也就是说，不对实参做任何拷贝
//        int len = removeDuplicates(nums);
//
//// 在函数里修改输入数组对于调用者是可见的。
//// 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。
//        for (int i = 0; i < len; i++) {
//            System.out.println(nums[i]);
//        }
//    }

public static int dayOfYear(String date) {
    String year = date.substring(0,4);
    String month = date.substring(5,7);
    String day = date.substring(8);
    System.out.println(year+"/"+month+"/day");

    String[] bigMonth = {"1","3","5","7","8","10","12"};
    //默认二月28天
    int two = 28;
    int total = 0;
    //累加月
        if(Integer.valueOf(month) == 1){
        total += Integer.valueOf(day);
        return total;
    }else if(Integer.valueOf(month) == 2){
        total += Integer.valueOf(day);
        return total+31;
    }else {
            if (Integer.valueOf(year) % 100 == 0) {
                if (Integer.valueOf(year) % 400 == 0) {
                    two = 29;
                }
            }
            if (Integer.valueOf(year) % 4 == 0 && Integer.valueOf(year) % 100 != 0) {
                two = 29;
            }

            for (int i = 1; i < Integer.valueOf(month); i++) {


                if (Arrays.asList(bigMonth).contains(String.valueOf(i))) {
                    total += 31;
                } else {
                    if (i == 2) {
                        total += two;
                    }else {
                        total += 30;
                    }

                }


            }
            //天
            total += Integer.valueOf(day);
            return total;
        }
    }


    public int removeDuplicates(int[] nums) {
        //先判断数组是否为空，如果是空就直接返回
        if(nums == null){
            return 0;
        }

        //设置2个游标，一个指向预计返回数组的下标，另一个循环走，
        // 从下标0开始，如果第一个游标指向的内容和循环走的游标指向的内容不相等，
        // 第一个游标，往前一格，把循环游标的值赋给第一个游标指向的位置，这样就不会出现内容重复。并且原数组的内容被改变
        int number = 0;
        for(int i = 0;i<nums.length;i++){
            if (nums[number] != nums[i]) {
                number ++;
                nums[number] = nums[i];
            }
        }
        return (number + 1);

    }
}


// }
